import java.util.Arrays;

public class SelectSort {

    static Integer [] array = {20,0,1,6,3,8,9,10,100,20};
    /**
     * 选择排序
     * 1. 数组分为两部分，已排序部分和未排序部分
     * 2. 最开始，都是未排序部分
     * 3. 假定 最小值为 index = 0 处。依次和后面比较，如果遇到 比 index[0] 小的，就和交换，直到比到末尾
     * 4. 找到这轮最小的值，放到 Index【0】 处
     * 5. 继续 假定index = 1 为最小的值，
     */
    public static void main(String[] args) {

       for (int i =  0; i < array.length; i++) {
           // i 代表 每轮选择，最小元素，要交换到的 目标位置
           int minIndex = i;
           for (int j = minIndex + 1; j < array.length; j++) {
               if (array[j] < array[minIndex]){
                   minIndex = j;
               }
           }
           int temp = array[minIndex];
           array[minIndex] = array[i];
           array[i] = temp;
           System.out.println("Arrays:"+ Arrays.toString(array));
        }
        System.out.println(Arrays.toString(array));
    }
}
